﻿@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Localization
@using Microsoft.Extensions.Options
@using WalkingTec.Mvvm.Core
@using WalkingTec.Mvvm.Core.Extensions
@model WalkingTec.Mvvm.Core.BaseVM
@inject IOptionsMonitor<RequestLocalizationOptions> LocOptions

@{
    var requestCulture = Context.Features.Get<IRequestCultureFeature>();
    var cultureItems = LocOptions.CurrentValue.SupportedUICultures
        .Select(c => new SelectListItem { Value = c.Name, Text = c.NativeName })
        .ToList();
    List<ComboSelectListItem> tenants = new List<ComboSelectListItem>();
    if (Model?.LoginUserInfo != null)
    {
        tenants = Model.Wtm.GlobaInfo.AllTenant.Where(x => x.TenantCode == Model.LoginUserInfo.TenantCode).AsQueryable().GetSelectListItems(Model.Wtm, x => x.TName, x => x.TCode);
    }
}
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">

        <!-- 头部区域 -->
        <ul class="layui-nav layui-layout-left">
            <li class="layui-nav-item layadmin-flexible" lay-unselect>
                <a href="javascript:;" layadmin-event="flexible" title="@Model.Localizer["Sys.HideShow"]">
                    <i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
                </a>
            </li>
            <li class="layui-nav-item layui-hide-xs" lay-unselect>
                <a href="http://iotgateway.net" target="_blank" title="@Model.Localizer["Sys.WtmDoc"]">
                    <i class="layui-icon layui-icon-website"></i>
                </a>
            </li>
            <li class="layui-nav-item" lay-unselect>
                <a href="javascript:;" layadmin-event="refresh" title="@Model.Localizer["Sys.Refresh"]">
                    <i class="layui-icon layui-icon-refresh-3"></i>
                </a>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">

            <li class="layui-nav-item layui-hide-xs" lay-unselect>
                <a href="javascript:;" layadmin-event="theme">
                    <i class="layui-icon layui-icon-theme"></i>
                </a>
            </li>
            <li class="layui-nav-item layui-hide-xs" lay-unselect>
                <a href="javascript:;" layadmin-event="fullscreen">
                    <i class="layui-icon layui-icon-screen-full"></i>
                </a>
            </li>
            <li class="layui-nav-item" lay-unselect>
                <a href="javascript:;">
                    <cite>@requestCulture.RequestCulture.UICulture.NativeName</cite>
                </a>
                <dl class="layui-nav-child">
                    @foreach (var item in cultureItems)
                    {
                        <dd>
                            <wt:linkbutton url="/_Framework/SetLanguage?culture=@item.Value" target=" ButtonTargetEnum.self" window-width="400" text="@item.Text" is-link="true" />
                        </dd>
                    }
                </dl>
            </li>
            @if (tenants.Count() > 0)
            {
                var current = Model?.Wtm?.LoginUserInfo?.CurrentTenant ==Model?.Wtm?.LoginUserInfo?.TenantCode ? Model.Localizer["_Admin.TenantHost"] : tenants.Where(x=>x.Value.ToString() == Model?.Wtm?.LoginUserInfo?.CurrentTenant).Select(x=>x.Text).SingleOrDefault();
                <li class="layui-nav-item" lay-unselect>
                    <a href="javascript:;">
                        <cite>@current</cite>
                    </a>
                    <dl class="layui-nav-child">
                        <dd>
                            <wt:linkbutton url="/_Framework/SetTenant?tenant=@Model?.Wtm?.LoginUserInfo?.TenantCode" target=" ButtonTargetEnum.self" window-width="400" text="@Model.Localizer["_Admin.TenantHost"]" is-link="true" />
                        </dd>
                        @foreach (var item in tenants)
                        {
                            <dd>
                                <wt:linkbutton url="/_Framework/SetTenant?tenant=@item.Value" target=" ButtonTargetEnum.self" window-width="400" text="@item.Text" is-link="true" />
                            </dd>
                        }
                    </dl>
                </li>

            }
            <li class="layui-nav-item" lay-unselect>
                <a href="javascript:;">
                    @if (Model.LoginUserInfo?.PhotoId != null)
                    {
                        <img class="layui-nav-img" src="api/_file/getuserphoto/@Model.LoginUserInfo.PhotoId" />
                    }
                    <cite>@Model.LoginUserInfo?.Name</cite>
                </a>
                <dl class="layui-nav-child">
                    <dd>
                        <wt:linkbutton url="/Login/ChangePassword" window-width="400" text="@Model.Localizer["Login.ChangePassword"]" is-link="true" />
                    </dd>
                    <dd><a href="javascript:;" lay-href="/">@Model.Localizer["Sys.BackHome"]</a></dd>
                    @{
                        if (ViewData["debug"] is bool debug && debug)
                        {
                            <dd>
                                <wt:linkbutton url="~/_CodeGen/Index" target="ButtonTargetEnum.newwindow" is-link="true" text="@Model.Localizer["Sys.CodeGen"]"
                                       window-title="@Model.Localizer["Sys.CodeGen"]" />
                            </dd>
                            <dd>
                                <wt:linkbutton url="~/swagger" target="ButtonTargetEnum.newwindow" is-link="true" text="@Model.Localizer["Sys.ApiDoc"]"
                                       window-title="@Model.Localizer["Sys.ApiDoc"]" />
                            </dd>
                        }
                    }
                </dl>
            </li>
            <li class="layui-nav-item"><a href="/Login/Logout">@Model.Localizer["Login.LogOut"]</a></li>
        </ul>
    </div>

    <!-- 侧边菜单 -->
    <div class="layui-side layui-side-menu">
        <div class="layui-side-scroll">
            <!-- <script type="text/html" template lay-url="./json/menu.js?v={{ layui.admin.v }}" -->
            <script type="text/html" template lay-url="/_Framework/Menu?t=@DateTime.Now.Ticks"
                    lay-done="layui.element.render('nav', 'layadmin-system-side-menu');layui.event.call(this, layui.setter.MOD_NAME, 'hash({*})', layui.router());" id="TPL_layout">

                <div class="layui-logo" lay-href="">
                  <span><img src="~/layuiadmin/style/res/logo.png" style="margin-right:5px" />{{ layui.setter.name || 'layuiAdmin' }}</span>
                </div>

                <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
                  {{#
                      var path =  layui.router().path
                      ,pathURL = layui.admin.correctRouter(path.join('/'))
                      ,dataName = layui.setter.response.dataName;

                      layui.each(d[dataName], function(index, item){
                        var hasChildren = typeof item.list === 'object' && item.list.length > 0
                        ,url = (item.jump && typeof item.jump === 'string') ? item.jump : item.name;
                  }}
                  <li data-name="{{ item.name || '' }}" data-jump="{{ item.jump || '' }}" class="layui-nav-item ">
                    <a href="javascript:;" {{ hasChildren ? '' : 'lay-href="'+ url +'"' }} lay-tips="{{ item.title }}" lay-direction="2">
                      <i class="{{ item.icon }}"></i>
                      <cite>{{ item.title }}</cite>
                    </a>
                    {{# if(hasChildren){ }}
                    <dl class="layui-nav-child">
                      {{# layui.each(item.list, function(index2, item2){
                            var hasChildren2 = typeof item2.list == 'object' && item2.list.length > 0
                            ,url2 = (item2.jump && typeof item2.jump === 'string')
                              ? item2.jump
                            : [item.name, item2.name, ''].join('/');
                      }}
                      <dd data-name="{{ item2.name || '' }}" data-jump="{{ item2.jump || '' }}">
                        <a href="javascript:;" {{ hasChildren2 ? '' : 'lay-href="'+ url2 +'"' }}>
                          <i class="{{ item2.icon }}"></i>
                          <cite>{{ item2.title }}</cite>
                        </a>
                        {{# if(hasChildren2){ }}
                        <dl class="layui-nav-child">
                          {{# layui.each(item2.list, function(index3, item3){
                                    var url3 = (item3.jump && typeof item3.jump === 'string')
                                      ? item3.jump
                                    : [item.name, item2.name, item3.name].join('/')
                          }}
                          <dd data-name="{{ item3.name || '' }}" data-jump="{{ item3.jump || '' }}">
                            <a href="javascript:;" lay-href="{{ url3 }}" {{ item3.iframe ? 'lay-iframe="true"' : '' }}>
                              <i class="{{ item3.icon }}"></i>
                              <cite>{{ item3.title }}</cite>
                            </a>
                          </dd>
                          {{# }); }}
                        </dl>
                        {{# } }}
                      </dd>
                      {{# }); }}
                    </dl>
                    {{# } }}
                  </li>
                  {{# }); }}
                </ul>
            </script>
        </div>
    </div>

    <!-- 页面标签 -->
    <script type="text/html" template lay-done="layui.element.render('nav', 'layadmin-pagetabs-nav')">
        {{# if(layui.setter.pageTabs){ }}
        <div class="layadmin-pagetabs" id="LAY_app_tabs">
          <div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
          <div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
          <div class="layui-icon layadmin-tabs-control layui-icon-down">
            <ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
              <li class="layui-nav-item" lay-unselect>
                <a href="javascript:;"></a>
                <dl class="layui-nav-child layui-anim-fadein">
                  <dd layadmin-event="closeThisTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseThisTag"]</a></dd>
                  <dd layadmin-event="closeOtherTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseOtherTags"]</a></dd>
                  <dd layadmin-event="closeAllTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseAllTags"]</a></dd>
                </dl>
              </li>
            </ul>
          </div>
          <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
            <ul class="layui-tab-title" id="LAY_app_tabsheader">
              <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li>
            </ul>
          </div>
        </div>
        {{# } }}
    </script>

    <!-- 主体内容 -->
    <div class="layui-body" id="LAY_app_body">
        <div class="layadmin-tabsbody-item layui-show"></div>
    </div>

    <!-- 辅助元素，一般用于移动设备下遮罩 -->
    <div class="layadmin-body-shade" layadmin-event="shade"></div>
</div>
